package com.faiz.example;

public class Solution {
    public int findNthDigit(int n) {
        if (n <= 9) {
            return 0;
        }
        //第一步，获取数字的位数
        int digit = 1;
        while (n - (int) Math.pow(10, digit - 1) * 9 * digit > 0) {
            n -= (int) Math.pow(10, digit - 1) * 9 * digit;
            digit++;
        }
        System.out.println("n:" + n);
        //第二步，获取该位所在的数字
        int add = n / digit;
        //出现
        if (n != 0) {
            add = n / digit;
            if (n % digit != 0) {
                add++;
            }
        }
        int num = (int) Math.pow(10, digit - 1) - 1 + add;
        //第三步，获取该位在该数字上的相对位置
        int index = n % digit;
        if (index == 0) {
            return num % 10;
        }
        System.out.println("num:" + num);
        System.out.println("digit:" + digit);
        //最终结果
        int result = 0;
        index = (digit - index) + 1;
        System.out.println("index:" + index);
        while (index > 0) {
            result = num % 10;
            num /= 10;
            index--;
        }
        return result;
    }
}